#include "stm32f10x.h"                  // Device header

void Light_Init(void)
{
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
    
    GPIO_InitTypeDef GPIO_InitStructure;    
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  // 修改为通用推挽输出
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOA, &GPIO_InitStructure);
    
    // 初始状态可以全部置低
    GPIO_ResetBits(GPIOA, GPIO_Pin_8 | GPIO_Pin_9 | GPIO_Pin_10);
}

void Light_Up(void)
{
   
    GPIO_ResetBits(GPIOA, GPIO_Pin_8);
    GPIO_ResetBits(GPIOA, GPIO_Pin_9);
    GPIO_ResetBits(GPIOA, GPIO_Pin_10);
    
 
}
void Light_Up2(void)
{
   
    GPIO_ResetBits(GPIOA, GPIO_Pin_8);
    GPIO_ResetBits(GPIOA, GPIO_Pin_9);
    GPIO_SetBits(GPIOA, GPIO_Pin_10);
    
 
}
void Light_Up3(void)
{
   
    GPIO_ResetBits(GPIOA, GPIO_Pin_8);
    GPIO_SetBits(GPIOA, GPIO_Pin_9);
    GPIO_ResetBits(GPIOA, GPIO_Pin_10);
    
 
}
void Light_Up4(void)
{
   
    GPIO_ResetBits(GPIOA, GPIO_Pin_8);
    GPIO_SetBits(GPIOA, GPIO_Pin_9);
    GPIO_SetBits(GPIOA, GPIO_Pin_10);
    
 
}
void Light_Up5(void)
{
   
    GPIO_SetBits(GPIOA, GPIO_Pin_8);
    GPIO_ResetBits(GPIOA, GPIO_Pin_9);
    GPIO_ResetBits(GPIOA, GPIO_Pin_10);
    
 
}
void Light_Up6(void)
{
   
    GPIO_SetBits(GPIOA, GPIO_Pin_8);
    GPIO_ResetBits(GPIOA, GPIO_Pin_9);
    GPIO_SetBits(GPIOA, GPIO_Pin_10);
    
 
}
void Light_Up7(void)
{
   
    GPIO_SetBits(GPIOA, GPIO_Pin_8);
    GPIO_SetBits(GPIOA, GPIO_Pin_9);
    GPIO_ResetBits(GPIOA, GPIO_Pin_10);
    
 
}
void Light_Up8(void)
{
   
    GPIO_SetBits(GPIOA, GPIO_Pin_8);
    GPIO_SetBits(GPIOA, GPIO_Pin_9);
    GPIO_SetBits(GPIOA, GPIO_Pin_10);
    
 
}

void Light_Up_Judger(float Target_Angle)
{
	if((Target_Angle>=0&&Target_Angle<22.5)||(Target_Angle>=337.5&&Target_Angle<360))
	{
		 Light_Up();
	
	}
	if(Target_Angle>=22.5&&Target_Angle<67.5)
	{
		  Light_Up2();
	
	} 
	  if(Target_Angle>=67.5&&Target_Angle<112.5)
	{
		  Light_Up3();
	
	}
	 if(Target_Angle>=112.5&&Target_Angle<157.5)
	{
		  Light_Up4();
	
	}
	 if(Target_Angle>=157.5&&Target_Angle<202.5)
	{
		  Light_Up5();
	
	}
	 if(Target_Angle>=202.5&&Target_Angle<247.5)
	{
		  Light_Up6();
	
	}
	 if(Target_Angle>=247.5&&Target_Angle<292.5)
	{
		  Light_Up7();
	
	}
	 if(Target_Angle>=292.5&&Target_Angle<337.5)
	{
		 Light_Up8();
	
	}
	
	


}

